package com.fpmsa.officeweb.controller;

import com.fpmsa.officeweb.constant.OWConstant;
import com.fpmsa.officeweb.model.News;
import com.fpmsa.officeweb.service.INewsService;
import com.fpmsa.officeweb.service.OfficeWebService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

/**
 * @Auther: Huang Yuehong
 * @Description: 官网党建e家控制器
 * @Date: 2018/7/10 17:02
 */

@Controller
@RequestMapping(value = "/party")
public class PartyController {

    private String PREFIX = "templates/party/";

    @Autowired
    private OfficeWebService officeWebService;

    @Autowired
    private INewsService newsService;

    /**
     * 党员文化
     */
    @RequestMapping("/culture")
    public String partyCulture(HttpServletRequest request, Model model){

        // 获取新闻列表（类别为“党员文化”）,按时间降序排列
        List<News> cultureList = officeWebService.getNewsList(OWConstant.OW_PARTY_CULTURE, OWConstant.OW_SHOW_NEWS_NUM, false);
        // 转换create_time字段，拆分为“年”和“月日”两部分，其余属性不变，用于前台新闻列表显示
        List<Map<String,Object>> cultureMapList = officeWebService.formatCreateTime(cultureList,"yyyy-MM-dd");
        model.addAttribute("cultureMapList",cultureMapList);

        // 用来判断页面上将左边选中的菜单文字设置成蓝色（class=on）
        model.addAttribute("flagname",OWConstant.OW_PARTY_CULTURE);

        // 往页面的model对象里面添加“关键词”、“描述”、“title”、下拉框选项等属性,用request判断请求的来源（pc/移动端/微信端）
        officeWebService.addAttrForModel(request,model);

        return PREFIX + "party_culture.html";
    }

    /**
     * 党员天地
     */
    @RequestMapping("/world")
    public String partyWorld(HttpServletRequest request,Model model){

        // 获取新闻列表（类别为“党员天地”）,按时间降序排列
        List<News> worldList = officeWebService.getNewsList(OWConstant.OW_PARTY_WORLD,OWConstant.OW_SHOW_NEWS_NUM,false);
        // 转换create_time字段，拆分为“年”和“月日”两部分，其余属性不变，用于前台新闻列表显示
        List<Map<String,Object>> worldMapList = newsService.formatCreateTime(worldList);
        model.addAttribute("worldMapList",worldMapList);

        // 用来判断页面上将左边选中的菜单文字设置成蓝色（class=on）
        model.addAttribute("flagname",OWConstant.OW_PARTY_WORLD);

        // 往页面的model对象里面添加“关键词”、“描述”、“title”、下拉框选项等属性,用request判断请求的来源（pc/移动端/微信端）
        officeWebService.addAttrForModel(request,model);

        return PREFIX + "party_world.html";

    }
}
